package assetco

import "wails/schema/config/commonco"

// @schema_export --ident=schema --json --config=地块
// @schema_go
// @schema_ts
// @cache_ts
// @alias 地块
type C地块 struct {
	// @alias 名称
	M名称 string
	// @alias 描述
	M描述 string
	// @alias 图标
	T图标 string `link:"图标"`
	// @alias 标签
	B标签 map[string]string
	// @alias 资源路径
	Z资源路径 string `enabled:"false"`
	// @alias 主题路径
	Z主题路径 string
	// @alias 网格尺寸
	W网格尺寸 E网格尺寸
	// @alias 网格偏移
	W网格偏移 *commonco.S二维点
	// @alias 寻路数据
	X寻路数据 string `enabled:"false"`
}

// 使用图片作为地块
// @schema_export --ident=schema --json --config=地块
// @schema_go
// @schema_ts
// @cache_ts
// @alias 地块_图片
type C地块_图片 struct {
	C地块
}

// 使用 rpgmaker 的自动拼接
// @schema_export --ident=schema --json --config=地块
// @schema_go
// @schema_ts
// @cache_ts
// @alias 地块_瓦片
type C地块_瓦片 struct {
	C地块

	// @alias 类型
	L类型 E瓦片类型

	// @alias 图层
	T图层 E瓦片图层
}

// 使用 war3 的自动拼接
// @schema_export --ident=schema --json --config=地块
// @schema_go
// @schema_ts
// @cache_ts
// @alias 地块_瓦片2
type C地块_瓦片3D struct {
	C地块
}

// @schema_export --ident=schema --json --config=地块
// @schema_go
// @schema_ts
// @cache_ts
// @alias 地块_墙壁
type C地块_墙壁 struct {
	C地块
}

// @schema_go
// @schema_ts
// @cache_ts
// @alias E瓦片类型
type E瓦片类型 int

// 网格尺寸
const (
	E瓦片类型_未知    E瓦片类型 = 0
	E瓦片类型_地板3x3 E瓦片类型 = 1
	E瓦片类型_地板4x4 E瓦片类型 = 2
	E瓦片类型_地板4x6 E瓦片类型 = 3
	E瓦片类型_地板6x8 E瓦片类型 = 4
	E瓦片类型_瀑布    E瓦片类型 = 5
)

// @schema_go
// @schema_ts
// @cache_ts
// @alias E瓦片图层
type E瓦片图层 int

// 网格尺寸
const (
	E瓦片图层_地板1层 E瓦片图层 = iota
	E瓦片图层_地板2层 E瓦片图层 = iota
	E瓦片图层_光影层  E瓦片图层 = iota
	E瓦片图层_装饰层  E瓦片图层 = iota
)

// @schema_go
// @schema_ts
// @cache_ts
// @alias E网格尺寸
type E网格尺寸 int

// 网格尺寸
const (
	E网格尺寸_Size8x8   E网格尺寸 = 8
	E网格尺寸_Size16x16 E网格尺寸 = 16
	E网格尺寸_Size32x32 E网格尺寸 = 32
	E网格尺寸_Size64x64 E网格尺寸 = 64
)

// @schema_go
// @schema_ts
// @cache_ts
// @alias E装饰品显示方式
type E装饰品显示方式 int

// 网格尺寸
const (
	// 如果被编组包含，则不显示在装饰品列表中
	E装饰品显示方式_自动 E装饰品显示方式 = 8
	// 无论是否被编组包含，都会显示
	E装饰品显示方式_强制显示
)
